package RRHH_Modelo;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

import java.util.List;

public class RHH_USUARIO_OTROS_INGRESOS {

    private int ID_USUARIO;
    private int ID_OTROS_INGRESOS;
    private int MONTO;
    private Date FECHA;
    private Conexion con = null;

    public RHH_USUARIO_OTROS_INGRESOS(Conexion con) {
        this.con = con;
    }

    public RHH_USUARIO_OTROS_INGRESOS(int ID_USUARIO, int ID_OTROS_INGRESOS, int MONTO, Date FECHA) {
        this.ID_USUARIO = ID_USUARIO;
        this.ID_OTROS_INGRESOS = ID_OTROS_INGRESOS;
        this.MONTO = MONTO;
        this.FECHA = FECHA;
    }

    public int Insertar() throws SQLException {
        String consulta = "insert into BROKER.RHH_USUARIO_OTROS_INGRESOS (ID_USUARIO, ID_OTROS_INGRESOS, MONTO, FECHA) VALUES (" + ID_USUARIO + "," + ID_OTROS_INGRESOS + "," + MONTO + ",'" + FECHA + "')";
        con.EjecutarSentencia(consulta);
        consulta = "select BROKER.RHH_USUARIO_OTROS_INGRESOS_SEQ.currval as ID from dual";
        ResultSet rs = con.EjecutarConsulta(consulta);
        rs.next();
        return rs.getInt("ID");
    }

    public boolean EliminarXid() throws SQLException {
        String consulta = "delete from BROKER.RHH_USUARIO_OTROS_INGRESOS where ID_USUARIO= " + getID_USUARIO();
        con.EjecutarSentencia(consulta);
        return true;
    }

    public List<RHH_USUARIO_OTROS_INGRESOS> Todos() throws SQLException {
        String consulta = "select * from BROKER.RHH_USUARIO_OTROS_INGRESOS";
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<RHH_USUARIO_OTROS_INGRESOS> lista = Cargar(rs);
        return lista;
    }

    public List<RHH_USUARIO_OTROS_INGRESOS> Cargar(ResultSet rs) throws SQLException {
        List<RHH_USUARIO_OTROS_INGRESOS> lista = new ArrayList<RHH_USUARIO_OTROS_INGRESOS>();
        while (rs.next()) {
            RHH_USUARIO_OTROS_INGRESOS objeto = new RHH_USUARIO_OTROS_INGRESOS(con);
            objeto.setID_USUARIO(rs.getInt("ID_USUARIO"));
            objeto.setID_OTROS_INGRESOS(rs.getInt("ID_OTROS_INGRESOS"));
            objeto.setMONTO(rs.getInt("MONTO"));
            objeto.setFECHA(rs.getDate("FECHA"));
            lista.add(objeto);
        }
        return lista;
    }

    public int getID_USUARIO() {
        return ID_USUARIO;
    }

    public void setID_USUARIO(int ID_USUARIO) {
        this.ID_USUARIO = ID_USUARIO;
    }

    public int getID_OTROS_INGRESOS() {
        return ID_OTROS_INGRESOS;
    }

    public void setID_OTROS_INGRESOS(int ID_OTROS_INGRESOS) {
        this.ID_OTROS_INGRESOS = ID_OTROS_INGRESOS;
    }

    public int getMONTO() {
        return MONTO;
    }

    public void setMONTO(int MONTO) {
        this.MONTO = MONTO;
    }

    public String getFECHA() {
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MMMM/yyyy hh:mm:ss");
        return sdf.format(FECHA);
    }

    public void setFECHA(Date FECHA) {
        this.FECHA = FECHA;
    }

    public Conexion getCon() {
        return this.con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }
}
